/**
 * Version 14 mrt 2008 - initial version
 */
package audioreaper.machine;

/**
 * <code>Machine</code>.
 *
 * @author <a href="mailto:vincent@nazarene.nl">Vincent van Beveren</a>
 *
 */
public interface Machine {
	

	
	String getName();
	
	void setName(String name);
	
	MachineContext getContext();
	
	boolean isActive();
	
	void setActive(boolean active);
	
	/**
	 * Volume is a value between 0 and 65536. Where 32768 is 100%. 
	 */
	void setVolume(int volume);
	
	int getVolume();
	
	/**
	 * Panning is a value between (full left) -32767 and +32767 (full right). 
	 */
	void setPanning(int panning);
	
	/**
	 * Returns the panning.
	 */
	int getPanning();
	
	/**
	 * Cascades the audio rendering processes.  
	 */
	void render();
	
}
